/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package es.us.gestiontareas.bean;

import es.us.gestiontareas.entity.Tarea;
import es.us.gestiontareas.entity.Usuario;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

/**
 *
 * @author master
 */
@Stateless
public class TareaFacade extends AbstractFacade<Tarea> {
    @PersistenceContext(unitName = "YCP_GetionTareas-ejbPU")
    private EntityManager em;

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }

    public TareaFacade() {
        super(Tarea.class);
    }
    
    
    public List<Tarea> findByUsuario(Usuario usuario){
        Query q= em.createNamedQuery("Tarea.findByPropietario");
        List l= q.getResultList();
        return l;
    }
    
     public Tarea insert(Tarea tarea) {
        /*
        * La tarea es un objeto por eso no tengo por 
       * que pasar parametros por separado
        */
               
        return update(tarea);
    }
     
     public Tarea update(Tarea tarea) {
        return em.merge(tarea);

    }
     
     public List<Tarea> findByTareaParticipo (Usuario usuario){
        Query q= em.createNamedQuery("Tarea.findByParticipante");
        List l= q.getResultList();
        return l;
     }
     
}
